/*      dfs     */

#include<iostream>
using namespace std;
double p[12];
int l,r;
double tot;

bool judge(int ca,int cb,int step)
{
    if(ca-cb>(step+1)/2)return true;//ca > cb，b还有(step+1)/2次比赛
    if(cb-ca>step/2)return true;// cb > ca，a还有(step)/2次比赛
    return false;
}

void dfs(int ca,int cb,int step,double pp)
{
    if(pp<1e-6)return ;
    if(step==10)
    {
        if(ca==l&&cb==r)
            tot+=pp;
        return ;
    }

    if(judge(ca,cb,10-step))
    {
        dfs(ca,cb,step+1,pp);
        return ;
    }

    //cout << tot <<endl;
    if((step&1)==0)//偶数,A队点球
    {
        dfs(ca+1,cb,step+1,pp*p[step]);
        dfs(ca,cb,step+1,pp*(1-p[step]));
    }
    else//奇数，B队点球
    {
        dfs(ca,cb+1,step+1,pp*p[step]);
        dfs(ca,cb,step+1,pp*(1-p[step]));
    }
}

int main()
{
    int Case=0;
    while(scanf("%lf%lf%lf%lf%lf%lf%lf%lf%lf%lf",&p[0],&p[2],&p[4],&p[6],&p[8],&p[1],&p[3],&p[5],&p[7],&p[9])!=EOF)
    {
        scanf("%d-%d",&l,&r);
        tot=0;
        dfs(0,0,0,1.0);
        printf("Case %d: %.2f%%\n",++Case,tot*100.0);
    }

    return 0;
}